21 实践课-AI 协同开发实战与仿真场景综合调试

- AI 协同开发实战与仿真场景综合调试

关联:索引

术语约定(本讲统一口径):


本节课只完成一件事:每组交付“可复现启动的最小闭环 + 可审计的证据链”。更完整的物理调参与延迟优化迭代,作为课后小组项目继续推进。

每组下课前必须提交 4 类东西(缺一项就算未完成):

  1. 一份 checklist(物理/数据/控制/性能四栏)。
  2. 一份最小闭环 world(允许简化传送带/机械臂,只要能跑通并能给证据)。
  3. 一条数据链路证据(Gazebo 端或 ROS2 端至少一条“确实在发”的证据)。
  4. 一次迭代证据链记录(物理稳定或延迟优化二选一,只做 1 次也可以)。

提示词结构直接复用模板;本节课只要求你们拿到三样输出:布局表、checklist 初稿、最小 world 骨架。

小组填空版提示词(直接复制,把 <> 替换成你们组数据):

你是 Gazebo Fortress(Ignition Gazebo 6)+ ROS2 Humble 的仿真工程师。

我组场景目标:<一句话说明:分拣产线仿真 + 传感器采集 + 控制闭环>
启动入口:<ign gazebo 或 gz sim>;SDF 版本:<1.8 或你环境版本>
单位与坐标:米/弧度;world: x 前 y 左 z 上;yaw 绕 z

设备与约束:
- 传送带区域:<尺寸 m、期望速度 m/s 或先用接触面代替>
- 物料苹果:<半径 m、质量 kg、数量、初始位姿范围>
- 机械臂工作区:<先留接口/或给出模型名与位姿>
- 分拣箱:<数量、尺寸、位姿>

传感器与交互:
- 相机:<分辨率、update_rate、Gazebo 内部 topic 名>
- 需要进入 ROS2 的话题:<列清单>
- 控制闭环:<控制话题名、频率、期望看到的现象反馈>

验收指标(必须量化):
- 送料稳定:<10s 内不穿透/抖动阈值/滑移上限>
- 延迟:<端到端延迟上限 + 测量方法>

输出要求:
1)先输出一张布局表(设备、pose、尺寸、关键参数)
2)再输出一份综合调试 checklist(物理/数据/控制/性能)
3)最后输出一个“最小可运行”world 骨架
并在末尾列出 3 条验收命令:SDF 校验、启动仿真、确认关键 topic/数据存在

衔接说明:验证与审计的原则、常见错误类型,已在中给出。本节课只按“可执行步骤 + 交付门槛”推进。

3.1)SDF 校验(先校验再启动)

ign sdf -k sorting_integration_min.world
gz sdf -k sorting_integration_min.world

3.2)启动仿真并提高日志详细度

ign gazebo -r -v 4 sorting_integration_min.world
gz sim -r -v 4 sorting_integration_min.world

3.3)用 topic 给出“传感器确实在发”的证据

ign topic -l
gz topic -l
ign topic -e -t /sim/camera/rgb -n 1

交付门槛(5 条审计清单,过不了就先别扩展场景):

  1. 版本一致:<sdf version="..."> 与环境匹配。
  2. name 唯一:model/link/collision 名不重复。
  3. 物理可信:动态物体必须有 <inertial><collision>
  4. 单位一致:尺寸(m)、质量(kg)、角度(rad)量级合理。

二选一即可:做 1 次改动 + 1 次回归验证 + 写清证据链。

4A)物理稳定性快调(穿透/抖动/打滑)

优先顺序:先稳定(穿透/抖动)再谈打滑。

4B)延迟/负载快测(先测再改)

先用命令测频率与带宽,再做最小改动(优先降分辨率或 update_rate),然后回归验证。

ros2 topic hz --qos-profile sensor_data /camera/image_raw
ros2 topic bw --qos-profile sensor_data /camera/image_raw
ros2 topic info -v /camera/image_raw

每组把证据链写成 5 行模板并提交(截图/日志/命令输出均可):

改动项:
原因(针对现象):
验证命令/证据:
结果(与上一版对比):
结论(保留/回滚/继续迭代):

  1. 跑通你们组的最小闭环 world,并提交至少 3 条证据(SDF 校验、启动日志、topic 证据)。
  2. 完成一次最小迭代(二选一:物理稳定或延迟/负载),并按“证据链模板”提交记录。

课后拓展(小组项目):

  1. 物理引擎参数调优:至少完成 3 次迭代(每次只改一个变量/强耦合组),并保留对比证据。
  2. 交互延迟优化:至少完成 2 次迭代(每次都有测量证据与回归验证)。
  3. 整理模块学习笔记:梳理“仿真建模、传感器配置、ROS2 交互、AI 协同开发”的核心要点与典型坑。

任务 1:生成分拣产线综合调试 checklist

请生成一份“分拣产线仿真综合调试 checklist”,按四栏输出:物理稳定性、数据链路(Gazebo→bridge→ROS2)、控制闭环(ROS2→仿真执行器)、性能与延迟。

要求:
1)每一项都给出“验收证据”(命令/日志关键字/截图要求)
2)每一项都给出“最小回归验证步骤”
3)最后给出 10 条常见问题与最快定位路径(先查什么、再查什么)

任务 2:针对仿真效果问题给出调参建议(带迭代顺序)

我现在的现象是:(用 2-3 句话描述,例如:苹果在传送带上打滑且偶尔穿透;夹爪闭合时苹果弹飞)
我当前关键参数是:(贴出 physics 步长/迭代、苹果 collision 的 mu/kp/kd/min_depth 等)
我的验收指标是:(贴出量化指标)

请输出:
1)最可能的 3 个根因假设(按优先级)
2)每个假设对应的“最小改动”与“预期现象变化”
3)一套 5 步迭代顺序(每步只改一个变量),并写出每步的回归验证命令

任务 3:生成模块核心知识点总结笔记(用于复盘)

请用“可复现工程口径”总结本模块核心要点,必须覆盖:SDF/建模要素、传感器配置、ros_gz_bridge/桥接验收、use_sim_time 与证据链、物理调参方法、延迟优化方法、常见坑与排查路线。

输出要求:
- 以清单形式输出(每条 1-2 句)
- 每个要点配 1 条最常用命令或验证方法

作业:不布置

1)提交分拣产线完整仿真场景文件包(含 .world/.sdf/urdf/launch/config 等所有配置文件)。

2)提交仿真场景综合测试报告(500 字左右),包含:

3)提交 AI 协同开发记录(300 字左右):

4)撰写模块学习心得(200 字左右):


Markdown 与代码自检清单(已执行口径)